package com.crm.api.service;

import com.crm.api.entity.Business;

import java.util.List;
import java.util.Map;

/**
 * 业务服务接口
 */
public interface BusinessService {

    /**
     * 获取业务列表（支持分页和筛选）
     */
    Map<String, Object> getBusinesses(Integer page, Integer size, String businessName, 
                                    String businessStatus, Integer customerId, 
                                    Integer businessTypeId, Integer responsibleEmployeeId);

    /**
     * 根据ID获取业务详情
     */
    Business getBusinessById(Integer id);

    /**
     * 根据ID获取业务详情（包含关联信息）
     */
    Map<String, Object> getBusinessDetailById(Integer id);

    /**
     * 创建业务
     */
    Business createBusiness(Business business, String creatorUsername);

    /**
     * 更新业务
     */
    Business updateBusiness(Business business);

    /**
     * 删除业务
     */
    boolean deleteBusiness(Integer id);

    /**
     * 更新业务状态
     */
    boolean updateBusinessStatus(Integer id, String businessStatus);

    /**
     * 更新业务进度备注
     */
    boolean updateBusinessProgress(Integer id, String progressNotes);

    /**
     * 获取业务统计信息
     */
    Map<String, Object> getBusinessStats(String startDate, String endDate, Integer businessTypeId);

    /**
     * 获取客户业务统计
     */
    List<Map<String, Object>> getCustomerBusinessStats();
}